package com.ruoyi.system.api.domain;

import java.util.List;

import io.swagger.annotations.ApiModel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 流水号字段配置对象 sys_serial_config
 *
 * @author ruoyi
 * @date 2023-04-14
 */
@ApiModel("流水号字段配置对象")
public class SysSerialConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 字段id
     */
    private Long configId;

    /**
     * 编号id
     */
    @Excel(name = "编号id")
    private Long serialId;

    /**
     * 字段类型
     */
    @Excel(name = "字段类型")
    private Integer configType;

    /**
     * 字段名称
     */
    @Excel(name = "字段名称")
    private String configName;

    /**
     * 字段值
     */
    @Excel(name = "字段值")
    private String configValue;

    /**
     * 字符数
     */
    @Excel(name = "字符数")
    private Integer maxLength;

    /**
     * 填报形式 0手动 1自动
     */
    @Excel(name = "填报形式 0手动 1自动")
    private Integer writeType;

    /**
     * 补零 0否 1是
     */
    @Excel(name = "补零 0否 1是")
    private Integer addZero;

    /**
     * 关联id，多个以逗号间隔
     */
    @Excel(name = "关联id，多个以逗号间隔")
    private String relConfigId;

    private Long[] relConfigIds;

    /**
     * 顺序号
     */
    @Excel(name = "顺序号")
    private Integer orderNum;

    //应用场景
    private Integer typeId;

    /**
     * 流水号下拉数据信息
     */
    private List<SysSerialOption> sysSerialOptionList;


    public void setConfigId(Long configId) {
        this.configId = configId;
    }

    public Long getConfigId() {
        return configId;
    }

    public void setSerialId(Long serialId) {
        this.serialId = serialId;
    }

    public Long getSerialId() {
        return serialId;
    }

    public void setConfigType(Integer configType) {
        this.configType = configType;
    }

    public Integer getConfigType() {
        return configType;
    }

    public void setConfigName(String configName) {
        this.configName = configName;
    }

    public String getConfigName() {
        return configName;
    }

    public void setConfigValue(String configValue) {
        this.configValue = configValue;
    }

    public String getConfigValue() {
        return configValue;
    }

    public void setMaxLength(Integer maxLength) {
        this.maxLength = maxLength;
    }

    public Integer getMaxLength() {
        return maxLength;
    }

    public void setWriteType(Integer writeType) {
        this.writeType = writeType;
    }

    public Integer getWriteType() {
        return writeType;
    }

    public void setAddZero(Integer addZero) {
        this.addZero = addZero;
    }

    public Integer getAddZero() {
        return addZero;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public List<SysSerialOption> getSysSerialOptionList() {
        return sysSerialOptionList;
    }

    public void setSysSerialOptionList(List<SysSerialOption> sysSerialOptionList) {
        this.sysSerialOptionList = sysSerialOptionList;
    }

    public String getRelConfigId() {
        return relConfigId;
    }

    public void setRelConfigId(String relConfigId) {
        this.relConfigId = relConfigId;
    }

    public Long[] getRelConfigIds() {
        return relConfigIds;
    }

    public void setRelConfigIds(Long[] relConfigIds) {
        this.relConfigIds = relConfigIds;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("configId", getConfigId())
                .append("serialId", getSerialId())
                .append("configType", getConfigType())
                .append("configName", getConfigName())
                .append("configValue", getConfigValue())
                .append("maxLength", getMaxLength())
                .append("writeType", getWriteType())
                .append("addZero", getAddZero())
                .append("relConfigId", getRelConfigId())
                .append("orderNum", getOrderNum())
                .append("sysSerialOptionList", getSysSerialOptionList())
                .toString();
    }
}
